// @Author: Duanxj
// @Description:
// @Version: 1.0.0
// @Date: 2021/4/7
// @Time: 9:44

package main

import (
	"fmt"
	"github.com/afocus/captcha"
	"image/color"
	"image/png"
	"net/http"
)

var cap *captcha.Captcha = captcha.New()

func main() {
	cap = captcha.New()
	// 设置字体
	err := cap.SetFont("web/test/comic.ttf")
	if err != nil {
		fmt.Println(err)
		return
	}
	// 设置验证码大小
	cap.SetSize(128, 64)
	// 设置干扰强度
	cap.SetDisturbance(captcha.NORMAL)
	// 设置前景色 可以多个 随机替换文字颜色 默认黑色
	cap.SetFrontColor(color.RGBA{255, 255, 255, 255})
	// 设置背景色 可以多个 随机替换背景色 默认白色
	cap.SetBkgColor(color.RGBA{255, 0, 0, 255}, color.RGBA{0, 0, 255, 255}, color.RGBA{0, 153, 0, 255})

	http.HandleFunc("/r", func(w http.ResponseWriter, r *http.Request) {
		img, str := cap.Create(6, captcha.NUM)
		_ = png.Encode(w, img)
		println(str)
	})
	http.ListenAndServe(":8086", nil)
}
